The rapid growth of the Internet and other networked systems has accelerated the need for processing, transferring and managing data in and across networks.
In order to meet these demands, enterprise storage architectures have been developed, which typically provide access to a physical storage pool through multiple independent SCSI channels interconnected with storage via multiple front-end and back-end processors/controllers. Moreover, in data networks based on IP/Ethernet technology, standards have been developed to facilitate network management. These standards include Ethernet, Internet Protocol (IP), Internet Control Message Protocol (ICMP), Management Information Block (MIB) and Simple Network Management Protocol (SNMP). Network Management Systems (NMSs) such as HP Open View utilize these standards to discover and monitor network devices. Examples of networked architectures are disclosed in the following patent documents, the disclosures of which are incorporated herein by reference:
U.S. Pat. No. 5,941,972 Crossroads Systems, Inc.
U.S. Pat. No. 6,000,020 Gadzoox Network, Inc.
U.S. Pat. No. 6,041,381 Crossroads Systems, Inc.
U.S. Pat. No. 6,061,358 McData Corporation
U.S. Pat. No. 6,067,545 Hewlett-Packard Company
U.S. Pat. No. 6,118,776 Vixel Corporation
U.S. Pat. No. 6,128,656 Cisco Technology, Inc.
U.S. Pat. No. 6,138,161 Crossroads Systems, Inc.
U.S. Pat. No. 6,148,421 Crossroads Systems, Inc.
U.S. Pat. No. 6,151,331 Crossroads Systems, Inc.
U.S. Pat. No. 6,199,112 Crossroads Systems, Inc.
U.S. Pat. No. 6,205,141 Crossroads Systems, Inc.
U.S. Pat. No. 6,247,060 Alacritech, Inc.
WO 01159966 Nishan Systems, Inc.
Conventional systems, however, do not enable seamless connection and interoperability among disparate storage platforms and protocols. Storage Area Networks (SANs) typically use a completely different set of technology based on Fibre Channel (FC) to build and manage storage networks. This has led to a “re-inventing of the wheel” in many cases. Users are often require to deal with multiple suppliers of routers, switches, host bus adapters and other components, some of which are not well-adapted to communicate with one another. Vendors and standards bodies continue to determine the protocols to be used to interface devices in SANs and NAS configurations; and SAN devices do not integrate well with existing IP-based management systems.
Still further, the storage devices (Disks, RAID Arrays, and the like), which are Fibre Channel attached to the SAN devices, typically do not support IP (and the SAN devices have limited IP support) and the storage devices cannot be discovered/managed by IP-based management systems. There are essentially two sets of management products—one for the IP devices and one for the storage devices.
Accordingly, it is desirable to enable servers, storage and network-attached storage (NAS) devices, IP and Fibre Channel switches on storage-area networks (SAN), WANs or LANs to interoperate to provide improved storage data transmission across enterprise networks.
In addition, among the most widely used protocols for communications within and among networks, TCP/IP (TCP/lnternet Protocol) is the suite of communications protocols used to connect hosts on the Internet. TCP provides reliable, virtual circuit, end-to-end connections for transporting data packets between nodes in a network. Implementation examples are set forth in the following patent and other publications, the disclosures of which are incorporated herein by reference:
U.S. Pat. No. 5,260,942 IBM
U.S. Pat. No. 5,442,637 ATT
U.S. Pat. No. 5,566,170 Storage Technology Corporation
U.S. Pat. No. 5,598,410 Storage Technology Corporation
U.S. Pat. No. 5,598,410 Storage Technology Corporation
U.S. Pat. No. 6,006,259 Network Alchemy, Inc.
U.S. Pat. No. 6,018,530 Sham Chakravorty
U.S. Pat. No. 6,122,670 TSI Telsys, Inc.
U.S. Pat. No. 6,163,812 IBM
U.S. Pat. No. 6,178,448 IBM    “TCP/IP Illustrated Volume 2”, Wright, Stevens;    “SCSI over TCP”, IETF draft, IBM, CISCO, Sangate, February 2000;    “The SCSI Encapsulation Protocol (SEP)”, IETF draft, Adaptec Inc., May 2000;    RFC 793 “Transmission Control Protocol”, September 1981.
Although TCP is useful, it requires substantial processing by the system CPU, thus limiting throughput and system performance. Designers have attempted to avoid this limitation through various inter-processor communications techniques, some of which are described in the above-cited publications. For example, some have offloaded TCP processing tasks to an auxiliary CPU, which can reside on an intelligent network interface or similar device, thereby reducing load on the system CPU. However, this approach does not eliminate the problem, but merely moves it elsewhere in the system, where it remains a single chokepoint of performance limitation.
Others have identified separable components of TCP processing and implemented them in specialized hardware. These can include calculation or verification of TCP checksums over the data being transmitted, and the appending or removing of fixed protocol headers to or from such data. These approaches are relatively simple to implement in hardware to the extent they perform only simple, condition-invariant manipulations, and do not themselves cause a change to be applied to any persistent TCP state variables. However, while these approaches somewhat reduce system CPU load, they have not been observed to provide substantial performance gains.
Some required components of TCP, such as retransmission of a TCP segment following a timeout, are difficult to implement in hardware, because of their complex and condition-dependent behavior. For this reason, systems designed to perform substantial TCP processing in hardware often include a dedicated CPU capable of handling these exception conditions. Alternatively, such systems may decline to handle TCP segment retransmission or other complex events and instead defer their processing to the system CPU.
However, a major difficulty in implementing such “fast path/slow path” solutions is ensuring that the internal state of the TCP connections, which can be modified as a result of performing these operations, is consistently maintained, whether the operations are performed by the “fast path” hardware or by the “slow path” system CPU.
It is therefore desirable to provide methods, devices and systems that simplify and improve these operations.
It is also desirable to provide methods, devices and systems that simplify management of storage in digital networks, and enable flexible deployment of NAS, SAN and other storage systems, and Fibre Channel (FC), IP/Ethernet and other protocols, with storage subsystem and location independence.